/*
 * Character.h
 *
 *  Created on: 25-nov.-2013
 *      Author: Axel
 */

#ifndef CHARACTER_H_
#define CHARACTER_H_

#include "Mesh.h"
#include "algebraBasic.h"

/**
 * holds the dimensions of the character
 */
struct dimension {
	double width;
	double height;
};

/**
 * Basic template for a game actor
 */
class Character {
public:
	Character(double x, double y, double z, double width, double height, double speed, double angle);
	virtual ~Character();

private:
	//the mesh for the character
	Mesh* mesh;

	//the speed and facing angle of the character
	double speed;
	double angle;

	//dimensions of the character
	dimension dim;

public:
	//getters for the variables
	Vector4f getLocation();
	dimension getDimension();
	double getSpeed();
	double getAngle();
	Mesh* getMesh();

	//move the entity around
	void move();

	//turn the entity
	void turn(double angle);

	//render
	void render();

};

#endif /* CHARACTER_H_ */
